2019년 발표된 문화체육관광부의 자료에 따르면 음악 산업 시장은 2016년부터 2018년까지 꾸준하게 매출액이 증가하고 있다. 실제로 음원 시장에서 다양한 부가 가치가 창출 되고 ‘해외 진출에 따른 발전 가능성도 커질 것으로’(추승엽 외,2016) 기대된다. 성장하는 음원시장의 대표적인 지표로 음원 순위가 주목되고 있다. 따라서 성장하는 음원시장의 주표지표인 음원 순위를 예측하는 것만으로도 상당한 유의미한 정보가 될 것이다. 그래서 우리는 다음을 목표로 정하였다.
문헌고찰 : 백원희, 이청파 크롤링 : 강동원, 오태환, 유건욱, 이청파 전처리 : 백원희, 오태환, 이청파 EDA : 오태환 모델링 : 유건욱, 오태환 Github 관리 : 유건욱, 이청파 중간발표자료 : 백원희 RMD : 유건욱, 오태환, 이청파 샤이니 : 강동원
음원 시장은 시대의 특성이 반영되며 기존의 음반 산업과 다르게 ‘다양한 변수에 의해 영향을 받는 시장’(추승엽 외, 2016)으로 변화 하고 있다. 특히 변화하는 트랜드에 따라 ‘음원 시장은 유투브, SNS, 인터넷 사이트 등 다양한 플랫폼의 영향이 커지고’(김가연 외, 2018) 있다. 따라서 우리는 선행논문들을 참고하여 다음의 사이트에서 제공되는 데이터를 활용해 주간음원순위를 예측해 보고자 한다.
가온차트 : 주간 가온차트 순위
지니 : 곡명, 가수명에 따른 곡 정보(장르, ost유무, 가수 성별, 등)
유튜브 Music Charts & Insights : 주간 순위권 뮤직비디오 조회수
DC갤러리 연애/방송 : 가수명에 따른 갤러리별 조회수, 게시글수, 추천수
구글 트렌드 : 가수명에 따른 구글 트렌드
네이버 데이터랩 : 가수명에 따른 네이버 트렌드
Nielsen코리아 : OST 프로그램에 따른 지상파, 종합편성, 케이블 일일 순위 데이터
이상 7개의 사이트의 정보 중 2018년 4월 이후의 데이터를 크롤링하였다. 해당 일을 기준일로 한 이유는 유튜브 데이터가 그 시점 부터 제공되었기 때문이다.
우리가 예측하고자 하는 주간 순위는 가온주간차트에서 뽑은 데이터이다. 이외에도 예측하기 위한 다양한 데이터를 뽑고 모형에 만들기 위해 전처리 하였다. 예를 들어 DC데이터의 경우 갤럴리명(가수명)별로 주간 기준에 따라 분류 후, 조회수는 단순 합을, 게시글수와 추천수는 평균낸 값을 사용하였다. 이렇게 다양한 사이트를 통해 얻은 데이터를 기간(주를 단위로 매주 일요일부터 토요일까지), 곡명, 가수명를 key로 합쳤다.
아래는 우리가 모형에 상용하고자 하는 데이터들의 변수 정보를 정리한 표이다.
| 변수명 | 변수의 의미 | 출처 |
|---|---|---|
| rank | 주간 곡 순위 | 가온차트 |
| week | 해당 차트의 주 | 가온차트 |
| artist | 가수명 | 가온차트 |
| name | 곡명 | 가온차트 |
| st_day | 해당 차트의 주, train, test데이터 분할에 사용 | 가온차트 |
| genre | 노래 장르 | 지니 |
| sex | 가수 성별 | 지니 |
| song_type | 음악종류 | 지니 |
| active_type | 가수유형 (예 : 그룹, 솔로) | 지니 |
| runtime | 음악 재생 시간 (단위 : 초) | 지니 |
| you_rank_g | 10구간화한 유튜브 순위 | 유튜브 |
| total_view | 총 유튜브 시청수 | 유튜브 |
| gg_score | 가수별 주간 구글 트렌드 지수 | 구글 트렌드 |
| nv_score | 가수별 주간 네이버 트렌드 지수 | 네이버 데이터랩 |
| pd_score | 소속사 네이버 트렌드 지수 | 네이버 데이터랩 |
| dc_total_numb | 가수별 주간 게시물 총수 | DC 갤러리 |
| dc_mean_recommend | 가수별 주간 평균 추천수 | DC 갤러리 |
| dc_mean_views | 가수별 주간 평균 조회수 | DC 갤러리 |
| drama_view | OST곡일 경우 해당프로그램 시청률 | Nielsen코리아 |
| top_freq | 100위 안에 가수가 얼마나 많이 차트에 곡을 올렸는지 4분위수 | 파생변수 |
| title_song | 각 주차별 동일가수의 곡 중 가장 높은 순위가 True, 나머지가 False | 파생변수 |
| previous_ranking | 신곡의 경우 해당 가수의 이전곡의 마지막 순위, 기존에 있는 경우 전주차 순위 | 파생변수 |
| season | 계절 | 파생변수 |
| season_genre_score | (장르&계절별 평균rank_g - 장르별 평균rank_g)/(장르별 평균rank_g)$ | 파생변수 |
아래의 테이블은 하나로 합치고 scale 전의 raw 데이터이다. 검색을 통해 그 값들을 확인해 볼 수 있다.
모형을 분석하기 전 EDA를 실시하였고, 예측의 정확도를 높이기 위해 파생변수를 만들었다. 그중 가장 중요한 파생변수는 previous_ranking로 이전 곡 순위를 의미하는 변수이다. 이외에도 여러 파생변수를 만들었으며 scale을 하였다. 자세한 과정은 다음의 링크를 통해 확인 가능하다.
title_song : 높은 인기로 인해 음원차트에 2곡 이상의 곡을 진입시킨 가수들이 있다. 타이틀곡이 아닌 곡의 경우에는 가수의 다른 지표가 좋아도 타이틀곡에 비해 순위가 낮을 수 밖에 없다. 따라서 그 주차에 한 가수가 진입시킨 곡들 중에 가장 순위가 높은 곡을 title_song이라고 정하고 title_song인 경우는 TRUE, 아닌 경우는 FALSE를 할당하는 변수를 만들었다.
previous_ranking : 당연히 음원차트 순위 예측은 이전 순위에 영향을 받을 것이다. 따라서 기존에 차트에 있는 곡은 이전주차 순위를, 신곡의 경우는 그 가수가 직전에 낸 음반의 title_song의 rank_g중 가장 높은(1에 가까운) 순위를 할당하였다.
top_freq 생성 : 음원 중엔 소위 “연금”이라고 불리는 곡들이 있다. 장기간 차트에 진입했다는 것을 의미한다. 우리는 그러한 오랜 기간 사랑받은 곡을 판별하기 위해 이러한 변수를 만들었다. 그 곡이 Top 100에 얼마나 많이 올렸는지를 세어 4그룹으로 나누었다.
season_genre_score 생성 : 가을 겨울엔 발라드, 여름엔 댄스. 보통 사람들의 인식 속에 계절별로 인기있는 장르가 다르다. 실제로도 그런 경향이 있는지 확인하고 싶었다.
Transformation for skewed data : 왜도가 커보이는 데이터들을 찾아 log transformation으로 최대한 정규분포로 맞춰주었다.
Min-Max Scaling
우리는 총 4가지의 모델을 사용하였고 그 중 가장 최적의 모델을 찾아 우리의 최종 모형을 사용하고자 하였다. 4가지 모델로 Logistic regression, Random forest. XG boost, Cat boost를 사용하였다. 모델 비교의 지표로 RMSE를 사용하였다. 그 결과 XG boost가 가장 좋은 결과를 보였다.
| Model | Valid RMSE | Test RMSE |
|---|---|---|
| LinearRegression | 21.009 | 21.325 |
| RandomForest | 18.771 | 21.330 |
| CatBoost | 20.827 | 22.286 |
| XGBoost | 18.640 | 21.16875 |
자세한 과정은 다음의 링크를 통해 확인 가능하다.
이상의 결과에서 XGboost를 사용했을 때 가장 낮은 RMSE를 보였다. 이 모형을 우리의 최종 예측모형으로 정하고,Shiny 패키지를 이용해 반응형 웹을 구현하였다. 해당 대쉬보드는 두 개의 웹페이지로 이루어져 있다.
아래의 링크를 통해 들어가 직접 예측을 해볼 수 있다.
RMSE가 가장 적게 나온 XG boost를 바탕으로 변수 중요도를 분석하였다.
[]
위와 같이 6개
크롤링의 제한이 있었다. : dc 등 NA가 너무 많았다
신인의 경우에는 과거 순위가 없어서 오차가 높게 나오는 부분이 있었다.
추후 outlier을 좀더 주목하게 탐색할 방법을 찾아야 할 것 같다.
데이터를 크롤링하여 실시간으로 shiny를 구현하여 모형을 바탕으로 데이터를 업데이트 하는 방법을 고려
국내 시장 뿐만아니라 세계 시장 에 다른 데이터도 가능할 수도
마케팅 요소로 활용할 만한 측면
추승엽, 현창민, 임성준 (2016) 디지털 음원산업의 흥행요인.Korea Business Review,20(4),231-254.
김가연, 김명준 (2018) 소셜 데이터 분석을 통한 음원 흥행 예측 지표 연구. 한국디지털콘텐츠학회 논문지, 19(6), 1105-1114
Chon, Song Hui (2006) Predicting success from music sales data: a statistical and adaptive approach
하정철, 강동훈, 박재모, 길준민 (2016) R 기반의 빅데이터 기술을 활용한 뉴스기사와 음원차트의 상관관계 분석